package com.cskaoyan.javase.oop1._6constructor;

/**
 * Demo3比Demo2唯一不同的是,有一个this表示调用其他构造器,那么程序执行会有什么变化呢?
 *
 * new对象的构造器会先被调用执行,但是this构造器后执行但先执行完毕(栈先进后出)
 * 构造器都是最后执行的,不管是new对象构造器,还是this构造器
 * 在创建对象过程中,显式赋值只有一次,不会有多次
 *
 * @since 16:40
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo3 {
    public static void main(String[] args) {
        Student stu = new Student(18, "王冰冰");
    }
}

class Student {
    int age = 10;
    String name = "张三";
    double a = 100;

    public Student(int age) {
        this();
        System.out.println("Student age");
        this.age = age;
    }

    public Student() {
        System.out.println("Student none");
    }

    public Student(int age, String name) {
        this(age);
        System.out.println("Student age,name");
        this.name = name;
    }
}
